package com.demo.user.entity;

import lombok.*;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;

/**
 * 用户(BlUser)实体类
 *
 * @author makejava
 * @since 2023-03-24 15:04:30
 */

/**
 * lombok 的注解，用来生成 Getter、Setter、toString、hashCode 方法，当添加该注解的同时在添加 相应方法（如 toString()）时，添加的方法不会被覆盖。
 */

@ToString
@Data
@RequiredArgsConstructor
@AllArgsConstructor//lombok 的注解，用来生成 全参构造函数
@Entity
@Table(name = "bl_user")
public class User implements Serializable {
  private static final long serialVersionUID = -13524831354839818L;

  @Id
  @GeneratedValue(strategy = GenerationType.AUTO)
  @Column(name = "uid", nullable = false)
  private Long uid;

  /** 站点ID */
  private Integer sid;
  /** 类型 1学员 2导师 3管理员 5投资人 */
  private Integer type;
  /** 角色ID */
  private Integer roleId;
  /** 手机号 */
  private String mobile;
  /** 姓名 */
  private String name;
  /** 学号/工号 */
  private String username;
  /** 头像 */
  private String avatar;
  /** 邮箱 */
  private String email;
  /** 性别 1男 2女 */
  private Integer sex;
  /** 状态 */
  private Integer status;
  /** 删除状态 0正常 1删除 */
  private Integer deleteStatus;
  /** 加密干扰字符串 */
  private String salt;
  /** 密文密码 */
  private String password;
  /** 明文密码 */
  private String showPwd;
  /** 是否默认密码 1是 2否 */
  private Integer defaultPassword;
  /** pc登录标识 */
  private String accessToken;
  /** 移动端登录标识 */
  private String mobileAccessToken;
  /** 管理后台登录标识 */
  private String adminAccessToken;
  /** 省编码 */
  private String provinceCode;
  /** 市编码 */
  private String cityCode;
  /** 区编码 */
  private String areaCode;
  /** 注册IP */
  private String regIp;
  /** 注册时间 */
  private Date regTime;
  /** 钉钉通讯录同步 0否 1是 */
  private Integer dingStatus;
  /** 钉子部门ID */
  private Integer sonDepartmentId;
  /** 单点登录退出凭证 */
  private String ssoLoginoutId;
  /** 单点登录登入凭证 */
  private String ssoLoginId;
  /** 更新时间 */
  private Date updateTime;

  private String verificationToken;
  /** 源院校站点ID */
  private Integer originSid;
  /** 源表主键ID */
  private Integer originId;


}
